package com.test.jdk.streamApi;

import com.test.jdk.funtionRel.Person;
import com.test.jdk.lambda.Persion;

import java.util.Arrays;
import java.util.List;
import java.util.stream.Stream;

public class StreamTestDistinct {
    public static void main(String[] args) {
        //去掉重复数据，可以使用distinct方法
        List<String> strings = Arrays.asList("1", "2","2","2", "3","4","5","6","7","0","22");
        strings.stream()
                .map(Integer::parseInt) //转换成新的流 String -->Integer
                .distinct().forEach(System.out::println); // sorted() 默认进行升序，如需改变规则进行排序的定义

        //基本数据类型去重，可以进行自动去重，引用数据类型需要重写hashCode和equals方法来去除重复元素
        // 对person 对象进行去重
        Stream.of(new Persion(18,"李四",188)
                ,new Persion(18,"李四",167)
                ,new Persion(18,"张三",177)).distinct().forEach(System.out::println);
    }
}
